<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Atendente extends CI_Controller {
    /*medico=1; atendente= 2;atendenteF= 3;paciente= 4;*/
    public $css=null;
    public $js=null;
    private $cat=2;
    public $usuario;
    public $user_admin;
    public function __construct() {
        parent::__construct();
        $this->css=array('bootstrap','menu','small-business','painel_user','tabs','hover','../lighter/css/lighter');    
        $this->js = array('jquery-1.10.2', 'bootstrap', 'funcoesComuns', 'jquery.maskedinput.min','jquery.dataTables.min','jquery.form.min' );
                //$this->load->helper();
        $this->load->model('usuario_model', 'usuarios');
        $this->load->model('atendente_model', 'atendente');
        $this->load->model('empresa_model', 'empresa');
        $this->usuario=$this->session->userdata('cod_usuario');
        $this->user_admin=$this->session->userdata('cod_admin');
    }
    public function getDadosAtendente(){
         $data =array_change_key_case (  $this->atendente->getAtendente($this->usuario));
         $data['pasta']='atendente/';
        return $data;
    }
   public function index(){
        $this->verificador->verificaCategoria($this->cat);
        $data=  $this->getDadosAtendente();
        $data['ref']="atendente/";
        $data['mensageFaixa']=$this->session->flashdata('mensagem');;
        
        $tela=array(
            'cabecalho'=>'telas/cabecalho_logado.php', 
            'topo'=>'telas/vazio.php', //mostrar o topo somente quando n�o for a tela de login
            'faixa_horizontal'=>'telas/faixa_horizontal.php',
            'cadastroPaciente'=>'telas/cadastro/cadastroPaciente.php',
            'modalPesquisaPaciente'=>'telas/pesquisaPaciente',
            'conteudo'=>'telas/index_atendente.php',
        );       
 
        $this->parser->adc_css($this->css);
        $this->parser->adc_js($this->js);
        $this->parser->mostrar('templates/template_corpo.php',$tela,$data);
   }
    public function configuracao( )  {
        $this->verificador->verificaCategoria($this->cat);
        $data=  $this->getDadosAtendente();
        $data['mensageFaixa']="Ola Atendente";
        $tela=array(
            'cabecalho'=>'telas/cabecalho_logado.php', 
            'topo'=>'telas/vazio.php', //mostrar o topo somente quando n�o for a tela de login
            'faixa_horizontal'=>'telas/vazio.php',
            'conteudo'=>'telas/conteudo_usuario.php',
        );
        
        $this->parser->adc_css($this->css);
        $this->parser->adc_js($this->js);
        $this->parser->mostrar('templates/template_corpo.php',$tela,$data);
    }
   public function lista(){
        $this->verificador->verificarAdminLogado();
        $data=   array_change_key_case (  $this->empresa->getAdministrador($this->user_admin) );
        $data['pasta']='administrador/';
        $data['ref']="admin/";
        $data['atendentes']=$this->atendente->getAtendenteByEmpresa($this->session->userdata('cod_empresa'));
        
        $tela = array('cabecalho' => 'telas/cabecalho_logado.php',
            'topo' => 'telas/vazio.php', //mostrar o topo somente quando n�o for a tela de login
            'faixa_horizontal' => 'telas/vazio.php',
            'conteudo' => 'telas/lista/atendente.php');
        $this->parser->adc_css($this->css);
        $this->parser->adc_js($this->js);
        $this->parser->mostrar('templates/template_corpo.php', $tela, $data);
    }
    
    public function cadastro() { 
         $this->form_validation->set_rules('nome', 'Atendente', 'required');
        $this->form_validation->set_message('is_unique', '%s já esta sendo utilizado.');
        $this->form_validation->set_rules('login', 'Login', 'required|min_length[6]|is_unique[tcc_pessoa.LOGIN]');
        $this->form_validation->set_rules('senha', 'Senha', 'required|min_length[6]');
        $this->form_validation->set_rules('email', 'Email do Atendente', 'required|email|is_unique[tcc_pessoa.EMAIL]');
        $this->form_validation->set_rules('telefone', 'Telefone');
        $this->form_validation->set_rules('celular', 'Celular');
        

        if ($this->form_validation->run() == FALSE) {           
            $this->session->set_flashdata('errors', validation_errors());
            foreach ($this->input->post() as $key => $value) {
                $this->session->set_flashdata($key, $value);
            }
                
            redirect('admin/cadastroAtendente');
        } else {
            //$this->session->userdata('cod_empresa')
            $dadosPessoa = array(
                    "NOME" => $this->input->post("nome"),
                    "LOGIN" => $this->input->post("login"),
                    "SENHA" =>  md5( $this->input->post("senha")),
                    "EMAIL" => $this->input->post("email"),
                    "TELEFONE" => $this->input->post("telefone"),
                    "CELULAR" => $this->input->post("celular"),
                    "CATEGORIA" => $this->cat,
                
            );
            $dadosAtendente=array(
                "CODIGO_EMPRESA"=>$this->session->userdata('cod_empresa'),
            );
            $idAtendente = $this->atendente->novoAtendente($dadosPessoa,$dadosAtendente);
            if (!is_null($idAtendente)) {
                 $dados['id']=$idAtendente;
                    $dados["senha"]= $this->input->post("senha");
                    $dados["nome"]= $this->input->post("nome");
                    $dados["email"]= $this->input->post("email");
                    $dados["login"]= $this->input->post("login");
                    $dados["redirect"]= "atendente";
                    $this->_email($dados);
                $this->session->set_flashdata('mensagem', "<div class='alert alert-success'>Cadastro realizado com successo.<br>Enviamos um email de ativação para conta criada, para que seja efetuada a ativaçao.</div>");
                    redirect('admin/listaAtendente');
                } else {
                     $this->session->set_flashdata('errors', "Não foi possivel efetuar a inserção do novo atendente");
                    redirect('admin/cadastroAtendente');
                }
           
        }
    }
    public function _email($dados) {      
        $config = $this->configEmail();
        $this->email->initialize($config);
        $this->email->from('ivan.rufino.m@gmail.com', 'Ivan Rufino');
        $this->email->to($dados['email']);
        $this->email->subject('SISCORE: Ativação de Conta');
        $mensagem=$this->load->view('telas/email/ativacao_conta',$dados,true);
        $this->email->message($mensagem);
        if (!$this->email->send()){
            echo $this->email->print_debugger();
        }
        
    }
    public function configEmail(){
        $config['protocol'] = 'smtp';
        $config['smtp_host'] = 'ssl://smtp.gmail.com';
        $config['smtp_port'] = '465';
        $config['smtp_timeout'] = '7';
        $config['smtp_user'] = 'ivan.rufino.m@gmail.com';
        $config['smtp_pass'] = '098789akuma2010';

        $config['newline'] = "\r\n";
        $config['mailpath'] = '/usr/sbin/sendmail';
        $config['mailtype'] = 'html';
        $config['charset'] = 'utf-8';
        $config['wordwrap'] = TRUE;
        return  $config;
    }
    public function ativarConta($id){
        $dados['STATUS']='1';
        $ret=$this->atendente->updateAtendente($dados,$id);
        if($ret){
             $msg  = "<div class='alert alert-success'>Seu cadastro foi ativado com sucesso.<br>Utilize os dados de acesso para entrar no sistema. <br></div>";
            $this->session->set_flashdata('mensagem', $msg);
            
        }else{
             $msg  = "<div class='alert alert-danger'>Houve uma falha na ativação do seu cadastro, por favor entre em contato com o desenvolvedor<br></div>";
            $this->session->set_flashdata('mensagem_erro', $msg);
        }
        redirect('login');
    }
    
    public function uploadImagem($id, $nomeFoto) {
        $novoNomeFoto = "imagem_" . $id . ".jpg";
        if ($nomeFoto == "atendente.png") {
            $dados['FOTO'] = $novoNomeFoto;
            $this->atendente->updateAtendente( $dados,$id);
        }
        $local = 'assets/fotos/atendente/';
        $config['upload_path'] = $local;

        $config['allowed_types'] = 'png|jpg';
        $config['max_size'] = '100';
        $config['max_width'] = '256';
        $config['max_height'] = '256';
        $config['overwrite'] = true;
        $config['file_name'] = $novoNomeFoto;
        $this->upload->initialize($config);
        //$this->load->library('upload', $config);
        $field_name = "foto";

        if (!$this->upload->do_upload($field_name)) {
            echo $this->upload->display_errors('<div class="alert alert-danger">', '</div>');
        } else {
            $data = $this->upload->data();
            // echo "<img src='".$data['full_path']."'>";
            $ret = "<div class='alert alert-success'>";
            $ret.= "<img src='" . $local . $data['orig_name'] . "'>";
            $ret.="<br><span>Arquivo Gravado com Sucesso</span>";
            $ret.="<div>";
            echo $ret;
            // print_r($data);
        }
    }

}

/* End of file home.php */
/* Location: ./application/controllers/home.php */